package com.soft.dao.impl;

import com.soft.dao.EmpDao;
import com.soft.db.DB;
import com.soft.pojo.Emp;

import java.util.List;

public class EmpDaoImpl implements EmpDao {
    @Override
    public List<Emp> searchByEname(String ename) {
        //stream
        List<Emp> emps = DB.emps.stream().filter(
                item -> item.getEname().contains(ename)
        ).toList();
        return emps;
    }

    @Override
    public int deleteEmp(int empno) {
        List<Emp> emps = DB.emps.stream().filter(
                item -> item.getEmpno() == empno
        ).toList();
        if (emps.size() > 0){
            DB.emps.remove(emps.get(0));
            return 1;
        }else return 0;
    }

    @Override
    public void insertEmp(Emp emp) {
        int empno = 1;
        if (DB.emps.size() > 0){
            empno = DB.emps.get(DB.emps.size()-1).getEmpno() + 1;
        }
        emp.setEmpno(empno);
        DB.emps.add(emp);
    }

    @Override
    public void updateEmp(Emp emp) {

        Emp emp1 = DB.emps.stream().filter(
                item -> item.getEmpno() == emp.getEmpno()
        ).toList().get(0);
        emp1.setEname(emp.getEname());
        emp1.setJob(emp.getJob());
        emp1.setDeptno(emp.getDeptno());
        emp1.setSal(emp.getSal());
    }
}
